# 让每个类，有自定义的属性
# 解包，将dict进行解压，每个属性对应有自己的值

# python 中预置的__dict__属性，是保存类实例或对象实例的属性变量键值对字典
# 实例的__dict__仅存了与实例相关的实例属性.
# 实例的__dict__属性,也使得每个实例的实例属性不会相互影响,一个实例的实例属性就是和ta相关的那些属性
# 类的__dict__则是和实例共享的变量,函数(方法,类属性).注意,类的__dict__并不包含其父类的属性.
class Zoo(object):

    def __init__(self,animals):
        self.animals=animals
        self.key={"testA":"testa"}
        self.__dict__.update(self.key)


test=dict(a='a', b='b', t='t')     # 传入关键字
print(test)

test2=dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 映射函数方式来构造字典
print(test2)

test3= dict([('one', 1), ('two', 2), ('three', 3)])    # 可迭代对象方式来构造字典
print(test3)

test4={}
test4=dict(test4,**test3)
print(test4)

zoo=Zoo(["1","2","3"])
print(zoo.testA)
